Struttura StringInfo Riportiamo e descriviamo la struttura StringInfo per i gadget stringa struct StringInfo { UBYTE *Buffer; UBYTE *UndoBuffer; WORD BufferPos; WORD MaxChars; WORD DispPos; WORD UndoPos; WORD NumChars; WORD DispCount; WORD CLeft, CTop; struct StringExtend *Extension; LONG LongInt; struct KeyMap *AltKeyMap; } Buffer L'applicazione deve fornire un vettore di caratteri (stringa) in cui Intuition memorizza la stringa inserita dall'utente; il puntatore a tale vettore deve essere inserito in questo campo; la dimensione del vettore non deve essere inferiore a MaxChars; il testo presente nel vettore prima di inserire il gadget nella finestra, verrà visualizzato al momento dell'inserimento di quest'ultimo; se il gadget è di tipo Integer bisogna memorizzare la codifica ASCII del numero preinserito. UndoBuffer E' il puntatore al buffer di caratteri per l'operazione di undo (opzionale); l'operazione di undo permette di ripristinare il contenuto precedente alle modifiche; l'UndoBuffer può essere condiviso da più string gadget (dato che un solo string gadget alla volta può essere attivo), attenzione ad usare un numero di caratteri corrispondente alla massima esigenza fra tutti i string gadgets. MaxChars Indica il numero massimo di caratteri che la stringa può avere; questo valore comprende anche il NULL di fine stringa, quindi il numero effettivo di caratteri memorizzabili è MaxChars-1. BufferPos BufferPos è inizializzato con il valore della posizione del cursore nel buffer della stringa; questo valore varia da 0 alla lunghezza della stringa meno 1. DispPos DispPos indica il primo carattere visualizzato nel gadget; può accadere che se la stringa inserita è più lunga della capienza grafica del gadget, il testo viene fatto scorrere all'interno di quest'ultimo. UndoPos, NumChars, DispCount, CLeft, CTop Queste variabili sono mantenute da Intuition e non dovrebbero essere modificate da Intuition. UndoPos specifica la posizione del carattere nel buffer undo; NumChars specifica il numero di caratteri correntemente presenti nel buffer; DispCount specifica il numero di caratteri attualmente visualizzati nel gadget. Extension Permette di specificare un ulteriore struttura estensiva per ulteriori controlli sul gadget LongInt Contiene il valore intero inserito nel gadget se il gadget stringa è di tipo Integer. AltKeyMap Per default i caratteri sullo schermo appaiono mediante una semplice trasformazione in ASCII; volendo utilizzare una KeyMap alternativa bisogna specificare il puntatore alla struttura KeyMap relativa in questo campo e impostare GACT_ALTKEYMAP nel campo Activation del gadget.